module Aio::Base::Toolkit
  module Regexp
    class << self
      def to_reg(cmd)
        res = cmd.gsub(' ', '([^\s]*)\s+')
        res.insert(0, '^')
        res.insert(-1, '([^\s]*)$')
        return ::Regexp.new(res)
      end

      def blank
        return /^[\t]*$/
      end

      # 产生一个安全的正则表达式
      def safe(reg)
        res = reg.to_s.gsub(' ', '\s+')
        return ::Regexp.new(res)
      end

      # 将一个数组的正则表达式合并成为一个正则表达式
      def merge(arr_regs)
        str_arr = []
        arr_regs.each {|x| str_arr << x.to_s}
        new_reg = str_arr.join("|").gsub("?-mix:", "")
        new_reg = ::Regexp.new(new_reg)
        return new_reg
      end
    end
  end
end

